Use the event controller equivalents where needed.
This commit covers the simple cases.
}
static gboolean
-touch_release_in_button (GtkButton *button,
- double x,
- double y)
+touch_release_in_button (GtkGestureClick *gesture,
+ GtkWidget *widget,
+ double x,
+ double y)
{
GdkEvent *event;
- event = gtk_get_current_event ();
+ event = gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (gesture));
if (!event)
return FALSE;
if (gdk_event_get_event_type (event) != GDK_TOUCH_END)
- {
- gdk_event_unref (event);
- return FALSE;
- }
-
- gdk_event_unref (event);
+ return FALSE;
- if (gtk_widget_contains (GTK_WIDGET (button), x, y))
- return TRUE;
+ if (!gtk_widget_contains (widget, x, y))
+ return FALSE;
- return FALSE;
+ return TRUE;
}
static void
gtk_button_do_release (button,
gtk_widget_is_sensitive (GTK_WIDGET (button)) &&
(priv->in_button ||
- touch_release_in_button (button, x, y)));
+ touch_release_in_button (gesture, widget, x, y)));
sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
gboolean cleared = FALSE;
GdkModifierType accel_mods = 0;
guint accel_key;
+ GdkEvent *event;
- if (!gdk_key_event_get_match (gtk_get_current_event (), &accel_key, &accel_mods))
+ event = gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (key));
+ if (!gdk_key_event_get_match (event, &accel_key, &accel_mods))
return FALSE;
if (accel_mods == 0)
if (!page)
return;
- if (!gtk_get_current_event_state (&state))
- return;
+ state = gtk_event_controller_get_current_event_state (controller);
if (!(state & GDK_BUTTON1_MASK) &&
notebook->pressed_button != 0)
notebook->detached_tab = notebook->cur_page;
surface = gtk_native_get_surface (gtk_widget_get_native (GTK_WIDGET (notebook)));
- device = gtk_get_current_event_device ();
+ device = gtk_event_controller_get_current_event_device (controller);
content = gdk_content_provider_new_union ((GdkContentProvider *[2]) {
gtk_notebook_root_content_new (notebook),
NULL);
button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
- gtk_get_current_event_state (&state);
+ state = gtk_event_controller_get_current_event_state (GTK_EVENT_CONTROLLER (gesture));
if (row)
{
#include "gtkadjustmentprivate.h"
#include "gtkeventcontrollermotion.h"
#include "gtkeventcontrollerscroll.h"
+#include "gtkeventcontrollerprivate.h"
#include "gtkgesturedrag.h"
#include "gtkgesturelongpress.h"
#include "gtkgesturepan.h"
}
static void
-captured_motion (GtkScrolledWindow *sw,
- gdouble x,
- gdouble y)
+captured_motion (GtkEventController *controller,
+ double x,
+ double y,
+ GtkScrolledWindow *sw)
{
GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (sw);
GdkDevice *source_device;
if (!priv->use_indicators)
return;
- event = gtk_get_current_event ();
+ target = gtk_event_controller_get_target (controller);
+ state = gtk_event_controller_get_current_event_state (controller);
+ event = gtk_event_controller_get_current_event (controller);
+
source_device = gdk_event_get_source_device (event);
input_source = gdk_device_get_source (source_device);
if (priv->vscrollbar_visible)
indicator_start_fade (&priv->vindicator, 1.0);
- state = gdk_event_get_modifier_state (event);
-
- target = gtk_widget_pick (GTK_WIDGET (sw), x, y, GTK_PICK_DEFAULT);
-
if (!target &&
(state & (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK)) != 0)
{
else
indicator_set_over (&priv->hindicator, FALSE);
}
-
- gdk_event_unref (event);
}
static gboolean
gboolean shifted;
GdkModifierType state;
- if (!gtk_get_current_event_state (&state))
- return GDK_EVENT_PROPAGATE;
-
+ state = gtk_event_controller_get_current_event_state (GTK_EVENT_CONTROLLER (scroll));
shifted = (state & GDK_SHIFT_MASK) != 0;
gtk_scrolled_window_invalidate_overshoot (scrolled_window);
gboolean shifted;
GdkModifierType state;
- if (!gtk_get_current_event_state (&state))
- return;
+
+ state = gtk_event_controller_get_current_event_state (GTK_EVENT_CONTROLLER (scroll));
shifted = (state & GDK_SHIFT_MASK) != 0;
controller = gtk_event_controller_motion_new ();
gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE);
- g_signal_connect_swapped (controller, "motion",
- G_CALLBACK (captured_motion), scrolled_window);
+ g_signal_connect (controller, "motion",
+ G_CALLBACK (captured_motion), scrolled_window);
gtk_widget_add_controller (widget, controller);
widget_node = gtk_widget_get_css_node (widget);
if (gtk_gesture_is_active (priv->drag_gesture))
{
GdkEvent *current_event;
- current_event = gtk_get_current_event ();
+ current_event = gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (priv->drag_gesture));
if (current_event != NULL)
{
if (gdk_event_get_event_type (current_event) == GDK_SCROLL)
}
static void
-gtk_text_view_do_popup (GtkTextView *text_view,
- GdkEvent *event)
+gtk_text_view_do_popup (GtkTextView *text_view,
+ GdkEvent *trigger_event)
{
GtkTextViewPrivate *priv = text_view->priv;
- GdkEvent *trigger_event;
if (!gtk_widget_get_realized (GTK_WIDGET (text_view)))
return;
- if (event)
- trigger_event = (GdkEvent *)event;
- else
- trigger_event = gtk_get_current_event ();
-
gtk_text_view_update_clipboard_actions (text_view);
if (!priv->popup_menu)
}
gtk_popover_popup (GTK_POPOVER (priv->popup_menu));
-
- if (trigger_event && trigger_event != event)
- gdk_event_unref (trigger_event);
}
static void
gtk_gesture_get_device (GTK_GESTURE (gesture)),
gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture)),
(int)start_x, (int)start_y,
- gtk_get_current_event_time ());
+ gdk_event_get_time (gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (gesture))));
gtk_event_controller_reset (GTK_EVENT_CONTROLLER (gesture));
gtk_event_controller_reset (GTK_EVENT_CONTROLLER (priv->click_gesture));